package algoritmi;

import java.util.Arrays;

/**
 * 
 * @author Maja Kabiljo
 * 
 */
class Utils {
	/**
	 * Bilo kakav niz normira tako da najmanji element postaje nula, sledeci
	 * postaje jedinica...
	 * 
	 * @param vrednosti
	 * @return - Vraca normiran niz.
	 */
	protected static int[] pretvoriNizU0doN(int[] vrednosti) {
		int[] t = new int[vrednosti.length];
		for (int i = 0; i < vrednosti.length; i++)
			t[i] = vrednosti[i];
		Arrays.sort(t);
		int v[] = new int[vrednosti.length];
		v[0] = 0;
		for (int i = 1; i < vrednosti.length; i++)
			if (t[i] == t[i - 1])
				v[i] = v[i - 1];
			else
				v[i] = v[i - 1] + 1;
		int[] ret = new int[vrednosti.length];
		for (int i = 0; i < vrednosti.length; i++) {
			int j = 0;
			while (t[j] != vrednosti[i])
				j++;
			ret[i] = v[j];
		}
		return ret;
	}

	/**
	 * @param niz
	 * @return - Vraca poziciju na kojoj se nalazi minimalni element niza.
	 */
	protected static int nadjiIndeksMinimuma(int[] niz) {
		int ret = 0;
		for (int i = 1; i < niz.length; i++)
			if (niz[i] < niz[ret])
				ret = i;
		return ret;
	}

	protected static String nizUString(int[] niz) {
		StringBuilder ret = new StringBuilder();
		for (int i = 0; i < niz.length; i++)
			ret.append(niz[i]).append(" ");
		return ret.toString();
	}
}
